 /* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

API网关
API网关相关接口

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#import <Foundation/Foundation.h>
#import <JDCloudOCSDKApigateway/ApigatewayExecutor.h>

@implementation ApigatewayClient

@synthesize userAgent = _userAgent;
@synthesize serviceName = _serviceName;
@synthesize version = _version;

-(void) addCustomerHeaderWithKey:(NSString*) key
                           value:(NSString*) value{
    if(![self customHeader])
    {
        self.customHeader = [[NSMutableDictionary alloc] init];
    }
    if(key && value)
    {
        [[self customHeader] setValue:value forKey:key];
    }
   
}

-(id)initWithGlobalConfig{
    if(![GlobalConfig credential])
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@"GlobalConfig credential not config" userInfo:nil];
        @throw e;
    }
    self.credential = [GlobalConfig credential];
    if(![GlobalConfig sdkEnvironment])
    {
        self.sdkEnvironment = [[SDKEnvironment alloc] initWithEndPoint:@"apigateway.jdcloud-api.com"];
    }else
    {
        self.sdkEnvironment = [GlobalConfig sdkEnvironment];
    }
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 apigateway  v1";
    _serviceName = @"apigateway";
    _version = @"v1";
    self.contentType = @"application/json";
    return self;
}

-(id)initWithCredential:(Credential*)credential
         sdkEnvironment:(SDKEnvironment*)sdkEnvironment
{
    if(!credential)
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@" credential can not null" userInfo:nil];
        @throw e;
    }else{
        self.credential = credential;
    }
    
    if(!sdkEnvironment)
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@" sdkEnvironment can not null" userInfo:nil];
        @throw e;
    }else{
        self.sdkEnvironment = sdkEnvironment;
    }
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 apigateway  v1";
    _serviceName = @"apigateway";
    _version = @"v1";
    self.contentType = @"application/json";
    return self;
}

-(id)initWithCredential:(Credential*)credential
{
    if(!credential)
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@" credential can not null" userInfo:nil];
        @throw e;
    }else{
        self.credential = credential;
    }
    if(![GlobalConfig sdkEnvironment])
    {
        self.sdkEnvironment = [[SDKEnvironment alloc] initWithEndPoint:@"apigateway.jdcloud-api.com"];
    }else
    {
        self.sdkEnvironment = [GlobalConfig sdkEnvironment];
    }
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 apigateway  v1";
    _serviceName = @"apigateway";
    _version = @"v1";
    self.contentType = @"application/json";
    return self;
}

-(id)init{
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 apigateway  v1";
    _serviceName = @"apigateway";
    _version = @"v1";
    self.contentType = @"application/json";
    return self;
}


/**
createUserDomain sync request
@param createUserDomainRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createUserDomainResponse` the request response data model
*/
-(NSDictionary*) createUserDomainSyncWithRequest:(ApigatewayCreateUserDomainRequest*) createUserDomainRequest
{
ApigatewayCreateUserDomainExecutor* excutor = [[ApigatewayCreateUserDomainExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createUserDomainRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCreateUserDomainResponse* response = [[ApigatewayCreateUserDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createUserDomainResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createUserDomainAsyncWithRequest:(ApigatewayCreateUserDomainRequest*) createUserDomainRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayCreateUserDomainResponse* _Nullable createUserDomainResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayCreateUserDomainExecutor* excutor = [[ApigatewayCreateUserDomainExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createUserDomainRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCreateUserDomainResponse* response = [[ApigatewayCreateUserDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
checkGroupNameExist sync request
@param checkGroupNameExistRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `checkGroupNameExistResponse` the request response data model
*/
-(NSDictionary*) checkGroupNameExistSyncWithRequest:(ApigatewayCheckGroupNameExistRequest*) checkGroupNameExistRequest
{
ApigatewayCheckGroupNameExistExecutor* excutor = [[ApigatewayCheckGroupNameExistExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:checkGroupNameExistRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCheckGroupNameExistResponse* response = [[ApigatewayCheckGroupNameExistResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"checkGroupNameExistResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)checkGroupNameExistAsyncWithRequest:(ApigatewayCheckGroupNameExistRequest*) checkGroupNameExistRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayCheckGroupNameExistResponse* _Nullable checkGroupNameExistResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayCheckGroupNameExistExecutor* excutor = [[ApigatewayCheckGroupNameExistExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:checkGroupNameExistRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCheckGroupNameExistResponse* response = [[ApigatewayCheckGroupNameExistResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteApiByName sync request
@param deleteApiByNameRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteApiByNameResponse` the request response data model
*/
-(NSDictionary*) deleteApiByNameSyncWithRequest:(ApigatewayDeleteApiByNameRequest*) deleteApiByNameRequest
{
ApigatewayDeleteApiByNameExecutor* excutor = [[ApigatewayDeleteApiByNameExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteApiByNameRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDeleteApiByNameResponse* response = [[ApigatewayDeleteApiByNameResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteApiByNameResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteApiByNameAsyncWithRequest:(ApigatewayDeleteApiByNameRequest*) deleteApiByNameRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayDeleteApiByNameResponse* _Nullable deleteApiByNameResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayDeleteApiByNameExecutor* excutor = [[ApigatewayDeleteApiByNameExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteApiByNameRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDeleteApiByNameResponse* response = [[ApigatewayDeleteApiByNameResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeIsDeployApiGroups sync request
@param describeIsDeployApiGroupsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeIsDeployApiGroupsResponse` the request response data model
*/
-(NSDictionary*) describeIsDeployApiGroupsSyncWithRequest:(ApigatewayDescribeIsDeployApiGroupsRequest*) describeIsDeployApiGroupsRequest
{
ApigatewayDescribeIsDeployApiGroupsExecutor* excutor = [[ApigatewayDescribeIsDeployApiGroupsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeIsDeployApiGroupsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDescribeIsDeployApiGroupsResponse* response = [[ApigatewayDescribeIsDeployApiGroupsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeIsDeployApiGroupsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeIsDeployApiGroupsAsyncWithRequest:(ApigatewayDescribeIsDeployApiGroupsRequest*) describeIsDeployApiGroupsRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayDescribeIsDeployApiGroupsResponse* _Nullable describeIsDeployApiGroupsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayDescribeIsDeployApiGroupsExecutor* excutor = [[ApigatewayDescribeIsDeployApiGroupsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeIsDeployApiGroupsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDescribeIsDeployApiGroupsResponse* response = [[ApigatewayDescribeIsDeployApiGroupsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteAccessKey sync request
@param deleteAccessKeyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteAccessKeyResponse` the request response data model
*/
-(NSDictionary*) deleteAccessKeySyncWithRequest:(ApigatewayDeleteAccessKeyRequest*) deleteAccessKeyRequest
{
ApigatewayDeleteAccessKeyExecutor* excutor = [[ApigatewayDeleteAccessKeyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteAccessKeyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDeleteAccessKeyResponse* response = [[ApigatewayDeleteAccessKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteAccessKeyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteAccessKeyAsyncWithRequest:(ApigatewayDeleteAccessKeyRequest*) deleteAccessKeyRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayDeleteAccessKeyResponse* _Nullable deleteAccessKeyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayDeleteAccessKeyExecutor* excutor = [[ApigatewayDeleteAccessKeyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteAccessKeyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDeleteAccessKeyResponse* response = [[ApigatewayDeleteAccessKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteSubscriptionKey sync request
@param deleteSubscriptionKeyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteSubscriptionKeyResponse` the request response data model
*/
-(NSDictionary*) deleteSubscriptionKeySyncWithRequest:(ApigatewayDeleteSubscriptionKeyRequest*) deleteSubscriptionKeyRequest
{
ApigatewayDeleteSubscriptionKeyExecutor* excutor = [[ApigatewayDeleteSubscriptionKeyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteSubscriptionKeyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDeleteSubscriptionKeyResponse* response = [[ApigatewayDeleteSubscriptionKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteSubscriptionKeyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteSubscriptionKeyAsyncWithRequest:(ApigatewayDeleteSubscriptionKeyRequest*) deleteSubscriptionKeyRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayDeleteSubscriptionKeyResponse* _Nullable deleteSubscriptionKeyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayDeleteSubscriptionKeyExecutor* excutor = [[ApigatewayDeleteSubscriptionKeyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteSubscriptionKeyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDeleteSubscriptionKeyResponse* response = [[ApigatewayDeleteSubscriptionKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createApis sync request
@param createApisRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createApisResponse` the request response data model
*/
-(NSDictionary*) createApisSyncWithRequest:(ApigatewayCreateApisRequest*) createApisRequest
{
ApigatewayCreateApisExecutor* excutor = [[ApigatewayCreateApisExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createApisRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCreateApisResponse* response = [[ApigatewayCreateApisResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createApisResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createApisAsyncWithRequest:(ApigatewayCreateApisRequest*) createApisRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayCreateApisResponse* _Nullable createApisResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayCreateApisExecutor* excutor = [[ApigatewayCreateApisExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createApisRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCreateApisResponse* response = [[ApigatewayCreateApisResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
updateRateLimitPolicy sync request
@param updateRateLimitPolicyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `updateRateLimitPolicyResponse` the request response data model
*/
-(NSDictionary*) updateRateLimitPolicySyncWithRequest:(ApigatewayUpdateRateLimitPolicyRequest*) updateRateLimitPolicyRequest
{
ApigatewayUpdateRateLimitPolicyExecutor* excutor = [[ApigatewayUpdateRateLimitPolicyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:updateRateLimitPolicyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayUpdateRateLimitPolicyResponse* response = [[ApigatewayUpdateRateLimitPolicyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"updateRateLimitPolicyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)updateRateLimitPolicyAsyncWithRequest:(ApigatewayUpdateRateLimitPolicyRequest*) updateRateLimitPolicyRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayUpdateRateLimitPolicyResponse* _Nullable updateRateLimitPolicyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayUpdateRateLimitPolicyExecutor* excutor = [[ApigatewayUpdateRateLimitPolicyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:updateRateLimitPolicyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayUpdateRateLimitPolicyResponse* response = [[ApigatewayUpdateRateLimitPolicyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
bindGroupKey sync request
@param bindGroupKeyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `bindGroupKeyResponse` the request response data model
*/
-(NSDictionary*) bindGroupKeySyncWithRequest:(ApigatewayBindGroupKeyRequest*) bindGroupKeyRequest
{
ApigatewayBindGroupKeyExecutor* excutor = [[ApigatewayBindGroupKeyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:bindGroupKeyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayBindGroupKeyResponse* response = [[ApigatewayBindGroupKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"bindGroupKeyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)bindGroupKeyAsyncWithRequest:(ApigatewayBindGroupKeyRequest*) bindGroupKeyRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayBindGroupKeyResponse* _Nullable bindGroupKeyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayBindGroupKeyExecutor* excutor = [[ApigatewayBindGroupKeyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:bindGroupKeyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayBindGroupKeyResponse* response = [[ApigatewayBindGroupKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
checkAuthExist sync request
@param checkAuthExistRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `checkAuthExistResponse` the request response data model
*/
-(NSDictionary*) checkAuthExistSyncWithRequest:(ApigatewayCheckAuthExistRequest*) checkAuthExistRequest
{
ApigatewayCheckAuthExistExecutor* excutor = [[ApigatewayCheckAuthExistExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:checkAuthExistRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCheckAuthExistResponse* response = [[ApigatewayCheckAuthExistResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"checkAuthExistResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)checkAuthExistAsyncWithRequest:(ApigatewayCheckAuthExistRequest*) checkAuthExistRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayCheckAuthExistResponse* _Nullable checkAuthExistResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayCheckAuthExistExecutor* excutor = [[ApigatewayCheckAuthExistExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:checkAuthExistRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCheckAuthExistResponse* response = [[ApigatewayCheckAuthExistResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
offline sync request
@param offlineRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `offlineResponse` the request response data model
*/
-(NSDictionary*) offlineSyncWithRequest:(ApigatewayOfflineRequest*) offlineRequest
{
ApigatewayOfflineExecutor* excutor = [[ApigatewayOfflineExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:offlineRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayOfflineResponse* response = [[ApigatewayOfflineResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"offlineResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)offlineAsyncWithRequest:(ApigatewayOfflineRequest*) offlineRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayOfflineResponse* _Nullable offlineResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayOfflineExecutor* excutor = [[ApigatewayOfflineExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:offlineRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayOfflineResponse* response = [[ApigatewayOfflineResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryAccessKey sync request
@param queryAccessKeyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryAccessKeyResponse` the request response data model
*/
-(NSDictionary*) queryAccessKeySyncWithRequest:(ApigatewayQueryAccessKeyRequest*) queryAccessKeyRequest
{
ApigatewayQueryAccessKeyExecutor* excutor = [[ApigatewayQueryAccessKeyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryAccessKeyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryAccessKeyResponse* response = [[ApigatewayQueryAccessKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryAccessKeyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryAccessKeyAsyncWithRequest:(ApigatewayQueryAccessKeyRequest*) queryAccessKeyRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayQueryAccessKeyResponse* _Nullable queryAccessKeyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayQueryAccessKeyExecutor* excutor = [[ApigatewayQueryAccessKeyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryAccessKeyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryAccessKeyResponse* response = [[ApigatewayQueryAccessKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
bindGroupAuth sync request
@param bindGroupAuthRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `bindGroupAuthResponse` the request response data model
*/
-(NSDictionary*) bindGroupAuthSyncWithRequest:(ApigatewayBindGroupAuthRequest*) bindGroupAuthRequest
{
ApigatewayBindGroupAuthExecutor* excutor = [[ApigatewayBindGroupAuthExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:bindGroupAuthRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayBindGroupAuthResponse* response = [[ApigatewayBindGroupAuthResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"bindGroupAuthResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)bindGroupAuthAsyncWithRequest:(ApigatewayBindGroupAuthRequest*) bindGroupAuthRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayBindGroupAuthResponse* _Nullable bindGroupAuthResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayBindGroupAuthExecutor* excutor = [[ApigatewayBindGroupAuthExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:bindGroupAuthRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayBindGroupAuthResponse* response = [[ApigatewayBindGroupAuthResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getRevisionIds sync request
@param getRevisionIdsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getRevisionIdsResponse` the request response data model
*/
-(NSDictionary*) getRevisionIdsSyncWithRequest:(ApigatewayGetRevisionIdsRequest*) getRevisionIdsRequest
{
ApigatewayGetRevisionIdsExecutor* excutor = [[ApigatewayGetRevisionIdsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getRevisionIdsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayGetRevisionIdsResponse* response = [[ApigatewayGetRevisionIdsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getRevisionIdsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getRevisionIdsAsyncWithRequest:(ApigatewayGetRevisionIdsRequest*) getRevisionIdsRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayGetRevisionIdsResponse* _Nullable getRevisionIdsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayGetRevisionIdsExecutor* excutor = [[ApigatewayGetRevisionIdsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getRevisionIdsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayGetRevisionIdsResponse* response = [[ApigatewayGetRevisionIdsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
checkKeyExist sync request
@param checkKeyExistRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `checkKeyExistResponse` the request response data model
*/
-(NSDictionary*) checkKeyExistSyncWithRequest:(ApigatewayCheckKeyExistRequest*) checkKeyExistRequest
{
ApigatewayCheckKeyExistExecutor* excutor = [[ApigatewayCheckKeyExistExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:checkKeyExistRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCheckKeyExistResponse* response = [[ApigatewayCheckKeyExistResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"checkKeyExistResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)checkKeyExistAsyncWithRequest:(ApigatewayCheckKeyExistRequest*) checkKeyExistRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayCheckKeyExistResponse* _Nullable checkKeyExistResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayCheckKeyExistExecutor* excutor = [[ApigatewayCheckKeyExistExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:checkKeyExistRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCheckKeyExistResponse* response = [[ApigatewayCheckKeyExistResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryAccessAuths sync request
@param queryAccessAuthsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryAccessAuthsResponse` the request response data model
*/
-(NSDictionary*) queryAccessAuthsSyncWithRequest:(ApigatewayQueryAccessAuthsRequest*) queryAccessAuthsRequest
{
ApigatewayQueryAccessAuthsExecutor* excutor = [[ApigatewayQueryAccessAuthsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryAccessAuthsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryAccessAuthsResponse* response = [[ApigatewayQueryAccessAuthsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryAccessAuthsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryAccessAuthsAsyncWithRequest:(ApigatewayQueryAccessAuthsRequest*) queryAccessAuthsRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayQueryAccessAuthsResponse* _Nullable queryAccessAuthsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayQueryAccessAuthsExecutor* excutor = [[ApigatewayQueryAccessAuthsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryAccessAuthsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryAccessAuthsResponse* response = [[ApigatewayQueryAccessAuthsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryRevision sync request
@param queryRevisionRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryRevisionResponse` the request response data model
*/
-(NSDictionary*) queryRevisionSyncWithRequest:(ApigatewayQueryRevisionRequest*) queryRevisionRequest
{
ApigatewayQueryRevisionExecutor* excutor = [[ApigatewayQueryRevisionExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryRevisionRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryRevisionResponse* response = [[ApigatewayQueryRevisionResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryRevisionResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryRevisionAsyncWithRequest:(ApigatewayQueryRevisionRequest*) queryRevisionRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayQueryRevisionResponse* _Nullable queryRevisionResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayQueryRevisionExecutor* excutor = [[ApigatewayQueryRevisionExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryRevisionRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryRevisionResponse* response = [[ApigatewayQueryRevisionResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createBackendConfig sync request
@param createBackendConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createBackendConfigResponse` the request response data model
*/
-(NSDictionary*) createBackendConfigSyncWithRequest:(ApigatewayCreateBackendConfigRequest*) createBackendConfigRequest
{
ApigatewayCreateBackendConfigExecutor* excutor = [[ApigatewayCreateBackendConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createBackendConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCreateBackendConfigResponse* response = [[ApigatewayCreateBackendConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createBackendConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createBackendConfigAsyncWithRequest:(ApigatewayCreateBackendConfigRequest*) createBackendConfigRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayCreateBackendConfigResponse* _Nullable createBackendConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayCreateBackendConfigExecutor* excutor = [[ApigatewayCreateBackendConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createBackendConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCreateBackendConfigResponse* response = [[ApigatewayCreateBackendConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
querySubscriptionKey sync request
@param querySubscriptionKeyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `querySubscriptionKeyResponse` the request response data model
*/
-(NSDictionary*) querySubscriptionKeySyncWithRequest:(ApigatewayQuerySubscriptionKeyRequest*) querySubscriptionKeyRequest
{
ApigatewayQuerySubscriptionKeyExecutor* excutor = [[ApigatewayQuerySubscriptionKeyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:querySubscriptionKeyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQuerySubscriptionKeyResponse* response = [[ApigatewayQuerySubscriptionKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"querySubscriptionKeyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)querySubscriptionKeyAsyncWithRequest:(ApigatewayQuerySubscriptionKeyRequest*) querySubscriptionKeyRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayQuerySubscriptionKeyResponse* _Nullable querySubscriptionKeyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayQuerySubscriptionKeyExecutor* excutor = [[ApigatewayQuerySubscriptionKeyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:querySubscriptionKeyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQuerySubscriptionKeyResponse* response = [[ApigatewayQuerySubscriptionKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
modifyApiGroupAttribute sync request
@param modifyApiGroupAttributeRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `modifyApiGroupAttributeResponse` the request response data model
*/
-(NSDictionary*) modifyApiGroupAttributeSyncWithRequest:(ApigatewayModifyApiGroupAttributeRequest*) modifyApiGroupAttributeRequest
{
ApigatewayModifyApiGroupAttributeExecutor* excutor = [[ApigatewayModifyApiGroupAttributeExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:modifyApiGroupAttributeRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayModifyApiGroupAttributeResponse* response = [[ApigatewayModifyApiGroupAttributeResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"modifyApiGroupAttributeResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)modifyApiGroupAttributeAsyncWithRequest:(ApigatewayModifyApiGroupAttributeRequest*) modifyApiGroupAttributeRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayModifyApiGroupAttributeResponse* _Nullable modifyApiGroupAttributeResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayModifyApiGroupAttributeExecutor* excutor = [[ApigatewayModifyApiGroupAttributeExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:modifyApiGroupAttributeRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayModifyApiGroupAttributeResponse* response = [[ApigatewayModifyApiGroupAttributeResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
checkPin sync request
@param checkPinRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `checkPinResponse` the request response data model
*/
-(NSDictionary*) checkPinSyncWithRequest:(ApigatewayCheckPinRequest*) checkPinRequest
{
ApigatewayCheckPinExecutor* excutor = [[ApigatewayCheckPinExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:checkPinRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCheckPinResponse* response = [[ApigatewayCheckPinResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"checkPinResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)checkPinAsyncWithRequest:(ApigatewayCheckPinRequest*) checkPinRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayCheckPinResponse* _Nullable checkPinResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayCheckPinExecutor* excutor = [[ApigatewayCheckPinExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:checkPinRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCheckPinResponse* response = [[ApigatewayCheckPinResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
checkPolicyName sync request
@param checkPolicyNameRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `checkPolicyNameResponse` the request response data model
*/
-(NSDictionary*) checkPolicyNameSyncWithRequest:(ApigatewayCheckPolicyNameRequest*) checkPolicyNameRequest
{
ApigatewayCheckPolicyNameExecutor* excutor = [[ApigatewayCheckPolicyNameExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:checkPolicyNameRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCheckPolicyNameResponse* response = [[ApigatewayCheckPolicyNameResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"checkPolicyNameResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)checkPolicyNameAsyncWithRequest:(ApigatewayCheckPolicyNameRequest*) checkPolicyNameRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayCheckPolicyNameResponse* _Nullable checkPolicyNameResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayCheckPolicyNameExecutor* excutor = [[ApigatewayCheckPolicyNameExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:checkPolicyNameRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCheckPolicyNameResponse* response = [[ApigatewayCheckPolicyNameResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryRateLimitPolicy sync request
@param queryRateLimitPolicyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryRateLimitPolicyResponse` the request response data model
*/
-(NSDictionary*) queryRateLimitPolicySyncWithRequest:(ApigatewayQueryRateLimitPolicyRequest*) queryRateLimitPolicyRequest
{
ApigatewayQueryRateLimitPolicyExecutor* excutor = [[ApigatewayQueryRateLimitPolicyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryRateLimitPolicyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryRateLimitPolicyResponse* response = [[ApigatewayQueryRateLimitPolicyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryRateLimitPolicyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryRateLimitPolicyAsyncWithRequest:(ApigatewayQueryRateLimitPolicyRequest*) queryRateLimitPolicyRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayQueryRateLimitPolicyResponse* _Nullable queryRateLimitPolicyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayQueryRateLimitPolicyExecutor* excutor = [[ApigatewayQueryRateLimitPolicyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryRateLimitPolicyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryRateLimitPolicyResponse* response = [[ApigatewayQueryRateLimitPolicyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
updateApi sync request
@param updateApiRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `updateApiResponse` the request response data model
*/
-(NSDictionary*) updateApiSyncWithRequest:(ApigatewayUpdateApiRequest*) updateApiRequest
{
ApigatewayUpdateApiExecutor* excutor = [[ApigatewayUpdateApiExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:updateApiRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayUpdateApiResponse* response = [[ApigatewayUpdateApiResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"updateApiResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)updateApiAsyncWithRequest:(ApigatewayUpdateApiRequest*) updateApiRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayUpdateApiResponse* _Nullable updateApiResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayUpdateApiExecutor* excutor = [[ApigatewayUpdateApiExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:updateApiRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayUpdateApiResponse* response = [[ApigatewayUpdateApiResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeRevisions sync request
@param describeRevisionsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeRevisionsResponse` the request response data model
*/
-(NSDictionary*) describeRevisionsSyncWithRequest:(ApigatewayDescribeRevisionsRequest*) describeRevisionsRequest
{
ApigatewayDescribeRevisionsExecutor* excutor = [[ApigatewayDescribeRevisionsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeRevisionsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDescribeRevisionsResponse* response = [[ApigatewayDescribeRevisionsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeRevisionsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeRevisionsAsyncWithRequest:(ApigatewayDescribeRevisionsRequest*) describeRevisionsRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayDescribeRevisionsResponse* _Nullable describeRevisionsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayDescribeRevisionsExecutor* excutor = [[ApigatewayDescribeRevisionsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeRevisionsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDescribeRevisionsResponse* response = [[ApigatewayDescribeRevisionsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createApiGroup sync request
@param createApiGroupRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createApiGroupResponse` the request response data model
*/
-(NSDictionary*) createApiGroupSyncWithRequest:(ApigatewayCreateApiGroupRequest*) createApiGroupRequest
{
ApigatewayCreateApiGroupExecutor* excutor = [[ApigatewayCreateApiGroupExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createApiGroupRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCreateApiGroupResponse* response = [[ApigatewayCreateApiGroupResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createApiGroupResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createApiGroupAsyncWithRequest:(ApigatewayCreateApiGroupRequest*) createApiGroupRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayCreateApiGroupResponse* _Nullable createApiGroupResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayCreateApiGroupExecutor* excutor = [[ApigatewayCreateApiGroupExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createApiGroupRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCreateApiGroupResponse* response = [[ApigatewayCreateApiGroupResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
updateAccessKey sync request
@param updateAccessKeyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `updateAccessKeyResponse` the request response data model
*/
-(NSDictionary*) updateAccessKeySyncWithRequest:(ApigatewayUpdateAccessKeyRequest*) updateAccessKeyRequest
{
ApigatewayUpdateAccessKeyExecutor* excutor = [[ApigatewayUpdateAccessKeyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:updateAccessKeyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayUpdateAccessKeyResponse* response = [[ApigatewayUpdateAccessKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"updateAccessKeyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)updateAccessKeyAsyncWithRequest:(ApigatewayUpdateAccessKeyRequest*) updateAccessKeyRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayUpdateAccessKeyResponse* _Nullable updateAccessKeyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayUpdateAccessKeyExecutor* excutor = [[ApigatewayUpdateAccessKeyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:updateAccessKeyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayUpdateAccessKeyResponse* response = [[ApigatewayUpdateAccessKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryAccessAuth sync request
@param queryAccessAuthRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryAccessAuthResponse` the request response data model
*/
-(NSDictionary*) queryAccessAuthSyncWithRequest:(ApigatewayQueryAccessAuthRequest*) queryAccessAuthRequest
{
ApigatewayQueryAccessAuthExecutor* excutor = [[ApigatewayQueryAccessAuthExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryAccessAuthRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryAccessAuthResponse* response = [[ApigatewayQueryAccessAuthResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryAccessAuthResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryAccessAuthAsyncWithRequest:(ApigatewayQueryAccessAuthRequest*) queryAccessAuthRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayQueryAccessAuthResponse* _Nullable queryAccessAuthResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayQueryAccessAuthExecutor* excutor = [[ApigatewayQueryAccessAuthExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryAccessAuthRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryAccessAuthResponse* response = [[ApigatewayQueryAccessAuthResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryKeyGroupList sync request
@param queryKeyGroupListRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryKeyGroupListResponse` the request response data model
*/
-(NSDictionary*) queryKeyGroupListSyncWithRequest:(ApigatewayQueryKeyGroupListRequest*) queryKeyGroupListRequest
{
ApigatewayQueryKeyGroupListExecutor* excutor = [[ApigatewayQueryKeyGroupListExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryKeyGroupListRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryKeyGroupListResponse* response = [[ApigatewayQueryKeyGroupListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryKeyGroupListResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryKeyGroupListAsyncWithRequest:(ApigatewayQueryKeyGroupListRequest*) queryKeyGroupListRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayQueryKeyGroupListResponse* _Nullable queryKeyGroupListResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayQueryKeyGroupListExecutor* excutor = [[ApigatewayQueryKeyGroupListExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryKeyGroupListRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryKeyGroupListResponse* response = [[ApigatewayQueryKeyGroupListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryUserDomains sync request
@param queryUserDomainsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryUserDomainsResponse` the request response data model
*/
-(NSDictionary*) queryUserDomainsSyncWithRequest:(ApigatewayQueryUserDomainsRequest*) queryUserDomainsRequest
{
ApigatewayQueryUserDomainsExecutor* excutor = [[ApigatewayQueryUserDomainsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryUserDomainsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryUserDomainsResponse* response = [[ApigatewayQueryUserDomainsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryUserDomainsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryUserDomainsAsyncWithRequest:(ApigatewayQueryUserDomainsRequest*) queryUserDomainsRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayQueryUserDomainsResponse* _Nullable queryUserDomainsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayQueryUserDomainsExecutor* excutor = [[ApigatewayQueryUserDomainsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryUserDomainsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryUserDomainsResponse* response = [[ApigatewayQueryUserDomainsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
authorizedApiGroupList sync request
@param authorizedApiGroupListRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `authorizedApiGroupListResponse` the request response data model
*/
-(NSDictionary*) authorizedApiGroupListSyncWithRequest:(ApigatewayAuthorizedApiGroupListRequest*) authorizedApiGroupListRequest
{
ApigatewayAuthorizedApiGroupListExecutor* excutor = [[ApigatewayAuthorizedApiGroupListExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:authorizedApiGroupListRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayAuthorizedApiGroupListResponse* response = [[ApigatewayAuthorizedApiGroupListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"authorizedApiGroupListResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)authorizedApiGroupListAsyncWithRequest:(ApigatewayAuthorizedApiGroupListRequest*) authorizedApiGroupListRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayAuthorizedApiGroupListResponse* _Nullable authorizedApiGroupListResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayAuthorizedApiGroupListExecutor* excutor = [[ApigatewayAuthorizedApiGroupListExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:authorizedApiGroupListRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayAuthorizedApiGroupListResponse* response = [[ApigatewayAuthorizedApiGroupListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
querySubscriptionKeys sync request
@param querySubscriptionKeysRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `querySubscriptionKeysResponse` the request response data model
*/
-(NSDictionary*) querySubscriptionKeysSyncWithRequest:(ApigatewayQuerySubscriptionKeysRequest*) querySubscriptionKeysRequest
{
ApigatewayQuerySubscriptionKeysExecutor* excutor = [[ApigatewayQuerySubscriptionKeysExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:querySubscriptionKeysRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQuerySubscriptionKeysResponse* response = [[ApigatewayQuerySubscriptionKeysResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"querySubscriptionKeysResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)querySubscriptionKeysAsyncWithRequest:(ApigatewayQuerySubscriptionKeysRequest*) querySubscriptionKeysRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayQuerySubscriptionKeysResponse* _Nullable querySubscriptionKeysResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayQuerySubscriptionKeysExecutor* excutor = [[ApigatewayQuerySubscriptionKeysExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:querySubscriptionKeysRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQuerySubscriptionKeysResponse* response = [[ApigatewayQuerySubscriptionKeysResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
updateSubscriptionKey sync request
@param updateSubscriptionKeyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `updateSubscriptionKeyResponse` the request response data model
*/
-(NSDictionary*) updateSubscriptionKeySyncWithRequest:(ApigatewayUpdateSubscriptionKeyRequest*) updateSubscriptionKeyRequest
{
ApigatewayUpdateSubscriptionKeyExecutor* excutor = [[ApigatewayUpdateSubscriptionKeyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:updateSubscriptionKeyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayUpdateSubscriptionKeyResponse* response = [[ApigatewayUpdateSubscriptionKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"updateSubscriptionKeyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)updateSubscriptionKeyAsyncWithRequest:(ApigatewayUpdateSubscriptionKeyRequest*) updateSubscriptionKeyRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayUpdateSubscriptionKeyResponse* _Nullable updateSubscriptionKeyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayUpdateSubscriptionKeyExecutor* excutor = [[ApigatewayUpdateSubscriptionKeyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:updateSubscriptionKeyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayUpdateSubscriptionKeyResponse* response = [[ApigatewayUpdateSubscriptionKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryBindGroupKey sync request
@param queryBindGroupKeyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryBindGroupKeyResponse` the request response data model
*/
-(NSDictionary*) queryBindGroupKeySyncWithRequest:(ApigatewayQueryBindGroupKeyRequest*) queryBindGroupKeyRequest
{
ApigatewayQueryBindGroupKeyExecutor* excutor = [[ApigatewayQueryBindGroupKeyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryBindGroupKeyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryBindGroupKeyResponse* response = [[ApigatewayQueryBindGroupKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryBindGroupKeyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryBindGroupKeyAsyncWithRequest:(ApigatewayQueryBindGroupKeyRequest*) queryBindGroupKeyRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayQueryBindGroupKeyResponse* _Nullable queryBindGroupKeyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayQueryBindGroupKeyExecutor* excutor = [[ApigatewayQueryBindGroupKeyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryBindGroupKeyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryBindGroupKeyResponse* response = [[ApigatewayQueryBindGroupKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
modifyRevision sync request
@param modifyRevisionRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `modifyRevisionResponse` the request response data model
*/
-(NSDictionary*) modifyRevisionSyncWithRequest:(ApigatewayModifyRevisionRequest*) modifyRevisionRequest
{
ApigatewayModifyRevisionExecutor* excutor = [[ApigatewayModifyRevisionExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:modifyRevisionRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayModifyRevisionResponse* response = [[ApigatewayModifyRevisionResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"modifyRevisionResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)modifyRevisionAsyncWithRequest:(ApigatewayModifyRevisionRequest*) modifyRevisionRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayModifyRevisionResponse* _Nullable modifyRevisionResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayModifyRevisionExecutor* excutor = [[ApigatewayModifyRevisionExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:modifyRevisionRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayModifyRevisionResponse* response = [[ApigatewayModifyRevisionResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryBindGroupPolicy sync request
@param queryBindGroupPolicyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryBindGroupPolicyResponse` the request response data model
*/
-(NSDictionary*) queryBindGroupPolicySyncWithRequest:(ApigatewayQueryBindGroupPolicyRequest*) queryBindGroupPolicyRequest
{
ApigatewayQueryBindGroupPolicyExecutor* excutor = [[ApigatewayQueryBindGroupPolicyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryBindGroupPolicyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryBindGroupPolicyResponse* response = [[ApigatewayQueryBindGroupPolicyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryBindGroupPolicyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryBindGroupPolicyAsyncWithRequest:(ApigatewayQueryBindGroupPolicyRequest*) queryBindGroupPolicyRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayQueryBindGroupPolicyResponse* _Nullable queryBindGroupPolicyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayQueryBindGroupPolicyExecutor* excutor = [[ApigatewayQueryBindGroupPolicyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryBindGroupPolicyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryBindGroupPolicyResponse* response = [[ApigatewayQueryBindGroupPolicyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteApi sync request
@param deleteApiRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteApiResponse` the request response data model
*/
-(NSDictionary*) deleteApiSyncWithRequest:(ApigatewayDeleteApiRequest*) deleteApiRequest
{
ApigatewayDeleteApiExecutor* excutor = [[ApigatewayDeleteApiExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteApiRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDeleteApiResponse* response = [[ApigatewayDeleteApiResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteApiResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteApiAsyncWithRequest:(ApigatewayDeleteApiRequest*) deleteApiRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayDeleteApiResponse* _Nullable deleteApiResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayDeleteApiExecutor* excutor = [[ApigatewayDeleteApiExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteApiRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDeleteApiResponse* response = [[ApigatewayDeleteApiResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeDeployment sync request
@param describeDeploymentRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeDeploymentResponse` the request response data model
*/
-(NSDictionary*) describeDeploymentSyncWithRequest:(ApigatewayDescribeDeploymentRequest*) describeDeploymentRequest
{
ApigatewayDescribeDeploymentExecutor* excutor = [[ApigatewayDescribeDeploymentExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeDeploymentRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDescribeDeploymentResponse* response = [[ApigatewayDescribeDeploymentResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeDeploymentResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeDeploymentAsyncWithRequest:(ApigatewayDescribeDeploymentRequest*) describeDeploymentRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayDescribeDeploymentResponse* _Nullable describeDeploymentResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayDescribeDeploymentExecutor* excutor = [[ApigatewayDescribeDeploymentExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeDeploymentRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDescribeDeploymentResponse* response = [[ApigatewayDescribeDeploymentResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeBackendConfig sync request
@param describeBackendConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeBackendConfigResponse` the request response data model
*/
-(NSDictionary*) describeBackendConfigSyncWithRequest:(ApigatewayDescribeBackendConfigRequest*) describeBackendConfigRequest
{
ApigatewayDescribeBackendConfigExecutor* excutor = [[ApigatewayDescribeBackendConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeBackendConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDescribeBackendConfigResponse* response = [[ApigatewayDescribeBackendConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeBackendConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeBackendConfigAsyncWithRequest:(ApigatewayDescribeBackendConfigRequest*) describeBackendConfigRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayDescribeBackendConfigResponse* _Nullable describeBackendConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayDescribeBackendConfigExecutor* excutor = [[ApigatewayDescribeBackendConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeBackendConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDescribeBackendConfigResponse* response = [[ApigatewayDescribeBackendConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
batchOffline sync request
@param batchOfflineRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `batchOfflineResponse` the request response data model
*/
-(NSDictionary*) batchOfflineSyncWithRequest:(ApigatewayBatchOfflineRequest*) batchOfflineRequest
{
ApigatewayBatchOfflineExecutor* excutor = [[ApigatewayBatchOfflineExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:batchOfflineRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayBatchOfflineResponse* response = [[ApigatewayBatchOfflineResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"batchOfflineResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)batchOfflineAsyncWithRequest:(ApigatewayBatchOfflineRequest*) batchOfflineRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayBatchOfflineResponse* _Nullable batchOfflineResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayBatchOfflineExecutor* excutor = [[ApigatewayBatchOfflineExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:batchOfflineRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayBatchOfflineResponse* response = [[ApigatewayBatchOfflineResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createAccessAuth sync request
@param createAccessAuthRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createAccessAuthResponse` the request response data model
*/
-(NSDictionary*) createAccessAuthSyncWithRequest:(ApigatewayCreateAccessAuthRequest*) createAccessAuthRequest
{
ApigatewayCreateAccessAuthExecutor* excutor = [[ApigatewayCreateAccessAuthExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createAccessAuthRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCreateAccessAuthResponse* response = [[ApigatewayCreateAccessAuthResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createAccessAuthResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createAccessAuthAsyncWithRequest:(ApigatewayCreateAccessAuthRequest*) createAccessAuthRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayCreateAccessAuthResponse* _Nullable createAccessAuthResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayCreateAccessAuthExecutor* excutor = [[ApigatewayCreateAccessAuthExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createAccessAuthRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCreateAccessAuthResponse* response = [[ApigatewayCreateAccessAuthResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeBackendConfigs sync request
@param describeBackendConfigsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeBackendConfigsResponse` the request response data model
*/
-(NSDictionary*) describeBackendConfigsSyncWithRequest:(ApigatewayDescribeBackendConfigsRequest*) describeBackendConfigsRequest
{
ApigatewayDescribeBackendConfigsExecutor* excutor = [[ApigatewayDescribeBackendConfigsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeBackendConfigsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDescribeBackendConfigsResponse* response = [[ApigatewayDescribeBackendConfigsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeBackendConfigsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeBackendConfigsAsyncWithRequest:(ApigatewayDescribeBackendConfigsRequest*) describeBackendConfigsRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayDescribeBackendConfigsResponse* _Nullable describeBackendConfigsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayDescribeBackendConfigsExecutor* excutor = [[ApigatewayDescribeBackendConfigsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeBackendConfigsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDescribeBackendConfigsResponse* response = [[ApigatewayDescribeBackendConfigsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeApiGroup sync request
@param describeApiGroupRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeApiGroupResponse` the request response data model
*/
-(NSDictionary*) describeApiGroupSyncWithRequest:(ApigatewayDescribeApiGroupRequest*) describeApiGroupRequest
{
ApigatewayDescribeApiGroupExecutor* excutor = [[ApigatewayDescribeApiGroupExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeApiGroupRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDescribeApiGroupResponse* response = [[ApigatewayDescribeApiGroupResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeApiGroupResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeApiGroupAsyncWithRequest:(ApigatewayDescribeApiGroupRequest*) describeApiGroupRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayDescribeApiGroupResponse* _Nullable describeApiGroupResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayDescribeApiGroupExecutor* excutor = [[ApigatewayDescribeApiGroupExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeApiGroupRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDescribeApiGroupResponse* response = [[ApigatewayDescribeApiGroupResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createAccessKey sync request
@param createAccessKeyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createAccessKeyResponse` the request response data model
*/
-(NSDictionary*) createAccessKeySyncWithRequest:(ApigatewayCreateAccessKeyRequest*) createAccessKeyRequest
{
ApigatewayCreateAccessKeyExecutor* excutor = [[ApigatewayCreateAccessKeyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createAccessKeyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCreateAccessKeyResponse* response = [[ApigatewayCreateAccessKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createAccessKeyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createAccessKeyAsyncWithRequest:(ApigatewayCreateAccessKeyRequest*) createAccessKeyRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayCreateAccessKeyResponse* _Nullable createAccessKeyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayCreateAccessKeyExecutor* excutor = [[ApigatewayCreateAccessKeyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createAccessKeyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCreateAccessKeyResponse* response = [[ApigatewayCreateAccessKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteAccessAuth sync request
@param deleteAccessAuthRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteAccessAuthResponse` the request response data model
*/
-(NSDictionary*) deleteAccessAuthSyncWithRequest:(ApigatewayDeleteAccessAuthRequest*) deleteAccessAuthRequest
{
ApigatewayDeleteAccessAuthExecutor* excutor = [[ApigatewayDeleteAccessAuthExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteAccessAuthRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDeleteAccessAuthResponse* response = [[ApigatewayDeleteAccessAuthResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteAccessAuthResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteAccessAuthAsyncWithRequest:(ApigatewayDeleteAccessAuthRequest*) deleteAccessAuthRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayDeleteAccessAuthResponse* _Nullable deleteAccessAuthResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayDeleteAccessAuthExecutor* excutor = [[ApigatewayDeleteAccessAuthExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteAccessAuthRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDeleteAccessAuthResponse* response = [[ApigatewayDeleteAccessAuthResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
updateKey sync request
@param updateKeyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `updateKeyResponse` the request response data model
*/
-(NSDictionary*) updateKeySyncWithRequest:(ApigatewayUpdateKeyRequest*) updateKeyRequest
{
ApigatewayUpdateKeyExecutor* excutor = [[ApigatewayUpdateKeyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:updateKeyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayUpdateKeyResponse* response = [[ApigatewayUpdateKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"updateKeyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)updateKeyAsyncWithRequest:(ApigatewayUpdateKeyRequest*) updateKeyRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayUpdateKeyResponse* _Nullable updateKeyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayUpdateKeyExecutor* excutor = [[ApigatewayUpdateKeyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:updateKeyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayUpdateKeyResponse* response = [[ApigatewayUpdateKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
checkRevisionExist sync request
@param checkRevisionExistRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `checkRevisionExistResponse` the request response data model
*/
-(NSDictionary*) checkRevisionExistSyncWithRequest:(ApigatewayCheckRevisionExistRequest*) checkRevisionExistRequest
{
ApigatewayCheckRevisionExistExecutor* excutor = [[ApigatewayCheckRevisionExistExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:checkRevisionExistRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCheckRevisionExistResponse* response = [[ApigatewayCheckRevisionExistResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"checkRevisionExistResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)checkRevisionExistAsyncWithRequest:(ApigatewayCheckRevisionExistRequest*) checkRevisionExistRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayCheckRevisionExistResponse* _Nullable checkRevisionExistResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayCheckRevisionExistExecutor* excutor = [[ApigatewayCheckRevisionExistExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:checkRevisionExistRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCheckRevisionExistResponse* response = [[ApigatewayCheckRevisionExistResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
updateAccessAuth sync request
@param updateAccessAuthRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `updateAccessAuthResponse` the request response data model
*/
-(NSDictionary*) updateAccessAuthSyncWithRequest:(ApigatewayUpdateAccessAuthRequest*) updateAccessAuthRequest
{
ApigatewayUpdateAccessAuthExecutor* excutor = [[ApigatewayUpdateAccessAuthExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:updateAccessAuthRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayUpdateAccessAuthResponse* response = [[ApigatewayUpdateAccessAuthResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"updateAccessAuthResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)updateAccessAuthAsyncWithRequest:(ApigatewayUpdateAccessAuthRequest*) updateAccessAuthRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayUpdateAccessAuthResponse* _Nullable updateAccessAuthResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayUpdateAccessAuthExecutor* excutor = [[ApigatewayUpdateAccessAuthExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:updateAccessAuthRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayUpdateAccessAuthResponse* response = [[ApigatewayUpdateAccessAuthResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryUcAccessKeys sync request
@param queryUcAccessKeysRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryUcAccessKeysResponse` the request response data model
*/
-(NSDictionary*) queryUcAccessKeysSyncWithRequest:(ApigatewayQueryUcAccessKeysRequest*) queryUcAccessKeysRequest
{
ApigatewayQueryUcAccessKeysExecutor* excutor = [[ApigatewayQueryUcAccessKeysExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryUcAccessKeysRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryUcAccessKeysResponse* response = [[ApigatewayQueryUcAccessKeysResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryUcAccessKeysResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryUcAccessKeysAsyncWithRequest:(ApigatewayQueryUcAccessKeysRequest*) queryUcAccessKeysRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayQueryUcAccessKeysResponse* _Nullable queryUcAccessKeysResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayQueryUcAccessKeysExecutor* excutor = [[ApigatewayQueryUcAccessKeysExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryUcAccessKeysRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryUcAccessKeysResponse* response = [[ApigatewayQueryUcAccessKeysResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryKeyInfo sync request
@param queryKeyInfoRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryKeyInfoResponse` the request response data model
*/
-(NSDictionary*) queryKeyInfoSyncWithRequest:(ApigatewayQueryKeyInfoRequest*) queryKeyInfoRequest
{
ApigatewayQueryKeyInfoExecutor* excutor = [[ApigatewayQueryKeyInfoExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryKeyInfoRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryKeyInfoResponse* response = [[ApigatewayQueryKeyInfoResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryKeyInfoResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryKeyInfoAsyncWithRequest:(ApigatewayQueryKeyInfoRequest*) queryKeyInfoRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayQueryKeyInfoResponse* _Nullable queryKeyInfoResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayQueryKeyInfoExecutor* excutor = [[ApigatewayQueryKeyInfoExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryKeyInfoRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryKeyInfoResponse* response = [[ApigatewayQueryKeyInfoResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryKeys sync request
@param queryKeysRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryKeysResponse` the request response data model
*/
-(NSDictionary*) queryKeysSyncWithRequest:(ApigatewayQueryKeysRequest*) queryKeysRequest
{
ApigatewayQueryKeysExecutor* excutor = [[ApigatewayQueryKeysExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryKeysRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryKeysResponse* response = [[ApigatewayQueryKeysResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryKeysResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryKeysAsyncWithRequest:(ApigatewayQueryKeysRequest*) queryKeysRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayQueryKeysResponse* _Nullable queryKeysResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayQueryKeysExecutor* excutor = [[ApigatewayQueryKeysExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryKeysRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryKeysResponse* response = [[ApigatewayQueryKeysResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryPolicyGroupList sync request
@param queryPolicyGroupListRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryPolicyGroupListResponse` the request response data model
*/
-(NSDictionary*) queryPolicyGroupListSyncWithRequest:(ApigatewayQueryPolicyGroupListRequest*) queryPolicyGroupListRequest
{
ApigatewayQueryPolicyGroupListExecutor* excutor = [[ApigatewayQueryPolicyGroupListExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryPolicyGroupListRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryPolicyGroupListResponse* response = [[ApigatewayQueryPolicyGroupListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryPolicyGroupListResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryPolicyGroupListAsyncWithRequest:(ApigatewayQueryPolicyGroupListRequest*) queryPolicyGroupListRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayQueryPolicyGroupListResponse* _Nullable queryPolicyGroupListResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayQueryPolicyGroupListExecutor* excutor = [[ApigatewayQueryPolicyGroupListExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryPolicyGroupListRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryPolicyGroupListResponse* response = [[ApigatewayQueryPolicyGroupListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
updateBackendConfig sync request
@param updateBackendConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `updateBackendConfigResponse` the request response data model
*/
-(NSDictionary*) updateBackendConfigSyncWithRequest:(ApigatewayUpdateBackendConfigRequest*) updateBackendConfigRequest
{
ApigatewayUpdateBackendConfigExecutor* excutor = [[ApigatewayUpdateBackendConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:updateBackendConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayUpdateBackendConfigResponse* response = [[ApigatewayUpdateBackendConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"updateBackendConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)updateBackendConfigAsyncWithRequest:(ApigatewayUpdateBackendConfigRequest*) updateBackendConfigRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayUpdateBackendConfigResponse* _Nullable updateBackendConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayUpdateBackendConfigExecutor* excutor = [[ApigatewayUpdateBackendConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:updateBackendConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayUpdateBackendConfigResponse* response = [[ApigatewayUpdateBackendConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryBindGroupAuth sync request
@param queryBindGroupAuthRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryBindGroupAuthResponse` the request response data model
*/
-(NSDictionary*) queryBindGroupAuthSyncWithRequest:(ApigatewayQueryBindGroupAuthRequest*) queryBindGroupAuthRequest
{
ApigatewayQueryBindGroupAuthExecutor* excutor = [[ApigatewayQueryBindGroupAuthExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryBindGroupAuthRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryBindGroupAuthResponse* response = [[ApigatewayQueryBindGroupAuthResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryBindGroupAuthResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryBindGroupAuthAsyncWithRequest:(ApigatewayQueryBindGroupAuthRequest*) queryBindGroupAuthRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayQueryBindGroupAuthResponse* _Nullable queryBindGroupAuthResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayQueryBindGroupAuthExecutor* excutor = [[ApigatewayQueryBindGroupAuthExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryBindGroupAuthRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryBindGroupAuthResponse* response = [[ApigatewayQueryBindGroupAuthResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createKey sync request
@param createKeyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createKeyResponse` the request response data model
*/
-(NSDictionary*) createKeySyncWithRequest:(ApigatewayCreateKeyRequest*) createKeyRequest
{
ApigatewayCreateKeyExecutor* excutor = [[ApigatewayCreateKeyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createKeyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCreateKeyResponse* response = [[ApigatewayCreateKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createKeyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createKeyAsyncWithRequest:(ApigatewayCreateKeyRequest*) createKeyRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayCreateKeyResponse* _Nullable createKeyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayCreateKeyExecutor* excutor = [[ApigatewayCreateKeyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createKeyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCreateKeyResponse* response = [[ApigatewayCreateKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeApiGroups sync request
@param describeApiGroupsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeApiGroupsResponse` the request response data model
*/
-(NSDictionary*) describeApiGroupsSyncWithRequest:(ApigatewayDescribeApiGroupsRequest*) describeApiGroupsRequest
{
ApigatewayDescribeApiGroupsExecutor* excutor = [[ApigatewayDescribeApiGroupsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeApiGroupsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDescribeApiGroupsResponse* response = [[ApigatewayDescribeApiGroupsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeApiGroupsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeApiGroupsAsyncWithRequest:(ApigatewayDescribeApiGroupsRequest*) describeApiGroupsRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayDescribeApiGroupsResponse* _Nullable describeApiGroupsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayDescribeApiGroupsExecutor* excutor = [[ApigatewayDescribeApiGroupsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeApiGroupsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDescribeApiGroupsResponse* response = [[ApigatewayDescribeApiGroupsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createRateLimitPolicy sync request
@param createRateLimitPolicyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createRateLimitPolicyResponse` the request response data model
*/
-(NSDictionary*) createRateLimitPolicySyncWithRequest:(ApigatewayCreateRateLimitPolicyRequest*) createRateLimitPolicyRequest
{
ApigatewayCreateRateLimitPolicyExecutor* excutor = [[ApigatewayCreateRateLimitPolicyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createRateLimitPolicyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCreateRateLimitPolicyResponse* response = [[ApigatewayCreateRateLimitPolicyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createRateLimitPolicyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createRateLimitPolicyAsyncWithRequest:(ApigatewayCreateRateLimitPolicyRequest*) createRateLimitPolicyRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayCreateRateLimitPolicyResponse* _Nullable createRateLimitPolicyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayCreateRateLimitPolicyExecutor* excutor = [[ApigatewayCreateRateLimitPolicyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createRateLimitPolicyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCreateRateLimitPolicyResponse* response = [[ApigatewayCreateRateLimitPolicyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createRevision sync request
@param createRevisionRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createRevisionResponse` the request response data model
*/
-(NSDictionary*) createRevisionSyncWithRequest:(ApigatewayCreateRevisionRequest*) createRevisionRequest
{
ApigatewayCreateRevisionExecutor* excutor = [[ApigatewayCreateRevisionExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createRevisionRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCreateRevisionResponse* response = [[ApigatewayCreateRevisionResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createRevisionResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createRevisionAsyncWithRequest:(ApigatewayCreateRevisionRequest*) createRevisionRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayCreateRevisionResponse* _Nullable createRevisionResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayCreateRevisionExecutor* excutor = [[ApigatewayCreateRevisionExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createRevisionRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCreateRevisionResponse* response = [[ApigatewayCreateRevisionResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteRateLimitPolicy sync request
@param deleteRateLimitPolicyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteRateLimitPolicyResponse` the request response data model
*/
-(NSDictionary*) deleteRateLimitPolicySyncWithRequest:(ApigatewayDeleteRateLimitPolicyRequest*) deleteRateLimitPolicyRequest
{
ApigatewayDeleteRateLimitPolicyExecutor* excutor = [[ApigatewayDeleteRateLimitPolicyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteRateLimitPolicyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDeleteRateLimitPolicyResponse* response = [[ApigatewayDeleteRateLimitPolicyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteRateLimitPolicyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteRateLimitPolicyAsyncWithRequest:(ApigatewayDeleteRateLimitPolicyRequest*) deleteRateLimitPolicyRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayDeleteRateLimitPolicyResponse* _Nullable deleteRateLimitPolicyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayDeleteRateLimitPolicyExecutor* excutor = [[ApigatewayDeleteRateLimitPolicyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteRateLimitPolicyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDeleteRateLimitPolicyResponse* response = [[ApigatewayDeleteRateLimitPolicyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryAuthGroupList sync request
@param queryAuthGroupListRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryAuthGroupListResponse` the request response data model
*/
-(NSDictionary*) queryAuthGroupListSyncWithRequest:(ApigatewayQueryAuthGroupListRequest*) queryAuthGroupListRequest
{
ApigatewayQueryAuthGroupListExecutor* excutor = [[ApigatewayQueryAuthGroupListExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryAuthGroupListRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryAuthGroupListResponse* response = [[ApigatewayQueryAuthGroupListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryAuthGroupListResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryAuthGroupListAsyncWithRequest:(ApigatewayQueryAuthGroupListRequest*) queryAuthGroupListRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayQueryAuthGroupListResponse* _Nullable queryAuthGroupListResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayQueryAuthGroupListExecutor* excutor = [[ApigatewayQueryAuthGroupListExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryAuthGroupListRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryAuthGroupListResponse* response = [[ApigatewayQueryAuthGroupListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
bindGroupPolicy sync request
@param bindGroupPolicyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `bindGroupPolicyResponse` the request response data model
*/
-(NSDictionary*) bindGroupPolicySyncWithRequest:(ApigatewayBindGroupPolicyRequest*) bindGroupPolicyRequest
{
ApigatewayBindGroupPolicyExecutor* excutor = [[ApigatewayBindGroupPolicyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:bindGroupPolicyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayBindGroupPolicyResponse* response = [[ApigatewayBindGroupPolicyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"bindGroupPolicyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)bindGroupPolicyAsyncWithRequest:(ApigatewayBindGroupPolicyRequest*) bindGroupPolicyRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayBindGroupPolicyResponse* _Nullable bindGroupPolicyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayBindGroupPolicyExecutor* excutor = [[ApigatewayBindGroupPolicyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:bindGroupPolicyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayBindGroupPolicyResponse* response = [[ApigatewayBindGroupPolicyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deploy sync request
@param deployRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deployResponse` the request response data model
*/
-(NSDictionary*) deploySyncWithRequest:(ApigatewayDeployRequest*) deployRequest
{
ApigatewayDeployExecutor* excutor = [[ApigatewayDeployExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deployRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDeployResponse* response = [[ApigatewayDeployResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deployResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deployAsyncWithRequest:(ApigatewayDeployRequest*) deployRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayDeployResponse* _Nullable deployResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayDeployExecutor* excutor = [[ApigatewayDeployExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deployRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDeployResponse* response = [[ApigatewayDeployResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryAccessKeys sync request
@param queryAccessKeysRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryAccessKeysResponse` the request response data model
*/
-(NSDictionary*) queryAccessKeysSyncWithRequest:(ApigatewayQueryAccessKeysRequest*) queryAccessKeysRequest
{
ApigatewayQueryAccessKeysExecutor* excutor = [[ApigatewayQueryAccessKeysExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryAccessKeysRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryAccessKeysResponse* response = [[ApigatewayQueryAccessKeysResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryAccessKeysResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryAccessKeysAsyncWithRequest:(ApigatewayQueryAccessKeysRequest*) queryAccessKeysRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayQueryAccessKeysResponse* _Nullable queryAccessKeysResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayQueryAccessKeysExecutor* excutor = [[ApigatewayQueryAccessKeysExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryAccessKeysRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryAccessKeysResponse* response = [[ApigatewayQueryAccessKeysResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
updateApiByName sync request
@param updateApiByNameRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `updateApiByNameResponse` the request response data model
*/
-(NSDictionary*) updateApiByNameSyncWithRequest:(ApigatewayUpdateApiByNameRequest*) updateApiByNameRequest
{
ApigatewayUpdateApiByNameExecutor* excutor = [[ApigatewayUpdateApiByNameExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:updateApiByNameRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayUpdateApiByNameResponse* response = [[ApigatewayUpdateApiByNameResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"updateApiByNameResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)updateApiByNameAsyncWithRequest:(ApigatewayUpdateApiByNameRequest*) updateApiByNameRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayUpdateApiByNameResponse* _Nullable updateApiByNameResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayUpdateApiByNameExecutor* excutor = [[ApigatewayUpdateApiByNameExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:updateApiByNameRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayUpdateApiByNameResponse* response = [[ApigatewayUpdateApiByNameResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteUserDomain sync request
@param deleteUserDomainRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteUserDomainResponse` the request response data model
*/
-(NSDictionary*) deleteUserDomainSyncWithRequest:(ApigatewayDeleteUserDomainRequest*) deleteUserDomainRequest
{
ApigatewayDeleteUserDomainExecutor* excutor = [[ApigatewayDeleteUserDomainExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteUserDomainRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDeleteUserDomainResponse* response = [[ApigatewayDeleteUserDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteUserDomainResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteUserDomainAsyncWithRequest:(ApigatewayDeleteUserDomainRequest*) deleteUserDomainRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayDeleteUserDomainResponse* _Nullable deleteUserDomainResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayDeleteUserDomainExecutor* excutor = [[ApigatewayDeleteUserDomainExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteUserDomainRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDeleteUserDomainResponse* response = [[ApigatewayDeleteUserDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createSubscriptionKey sync request
@param createSubscriptionKeyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createSubscriptionKeyResponse` the request response data model
*/
-(NSDictionary*) createSubscriptionKeySyncWithRequest:(ApigatewayCreateSubscriptionKeyRequest*) createSubscriptionKeyRequest
{
ApigatewayCreateSubscriptionKeyExecutor* excutor = [[ApigatewayCreateSubscriptionKeyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createSubscriptionKeyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCreateSubscriptionKeyResponse* response = [[ApigatewayCreateSubscriptionKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createSubscriptionKeyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createSubscriptionKeyAsyncWithRequest:(ApigatewayCreateSubscriptionKeyRequest*) createSubscriptionKeyRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayCreateSubscriptionKeyResponse* _Nullable createSubscriptionKeyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayCreateSubscriptionKeyExecutor* excutor = [[ApigatewayCreateSubscriptionKeyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createSubscriptionKeyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCreateSubscriptionKeyResponse* response = [[ApigatewayCreateSubscriptionKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryRateLimitPolicies sync request
@param queryRateLimitPoliciesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryRateLimitPoliciesResponse` the request response data model
*/
-(NSDictionary*) queryRateLimitPoliciesSyncWithRequest:(ApigatewayQueryRateLimitPoliciesRequest*) queryRateLimitPoliciesRequest
{
ApigatewayQueryRateLimitPoliciesExecutor* excutor = [[ApigatewayQueryRateLimitPoliciesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryRateLimitPoliciesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryRateLimitPoliciesResponse* response = [[ApigatewayQueryRateLimitPoliciesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryRateLimitPoliciesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryRateLimitPoliciesAsyncWithRequest:(ApigatewayQueryRateLimitPoliciesRequest*) queryRateLimitPoliciesRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayQueryRateLimitPoliciesResponse* _Nullable queryRateLimitPoliciesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayQueryRateLimitPoliciesExecutor* excutor = [[ApigatewayQueryRateLimitPoliciesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryRateLimitPoliciesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryRateLimitPoliciesResponse* response = [[ApigatewayQueryRateLimitPoliciesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeDeployments sync request
@param describeDeploymentsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeDeploymentsResponse` the request response data model
*/
-(NSDictionary*) describeDeploymentsSyncWithRequest:(ApigatewayDescribeDeploymentsRequest*) describeDeploymentsRequest
{
ApigatewayDescribeDeploymentsExecutor* excutor = [[ApigatewayDescribeDeploymentsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeDeploymentsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDescribeDeploymentsResponse* response = [[ApigatewayDescribeDeploymentsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeDeploymentsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeDeploymentsAsyncWithRequest:(ApigatewayDescribeDeploymentsRequest*) describeDeploymentsRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayDescribeDeploymentsResponse* _Nullable describeDeploymentsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayDescribeDeploymentsExecutor* excutor = [[ApigatewayDescribeDeploymentsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeDeploymentsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDescribeDeploymentsResponse* response = [[ApigatewayDescribeDeploymentsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteRevision sync request
@param deleteRevisionRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteRevisionResponse` the request response data model
*/
-(NSDictionary*) deleteRevisionSyncWithRequest:(ApigatewayDeleteRevisionRequest*) deleteRevisionRequest
{
ApigatewayDeleteRevisionExecutor* excutor = [[ApigatewayDeleteRevisionExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteRevisionRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDeleteRevisionResponse* response = [[ApigatewayDeleteRevisionResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteRevisionResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteRevisionAsyncWithRequest:(ApigatewayDeleteRevisionRequest*) deleteRevisionRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayDeleteRevisionResponse* _Nullable deleteRevisionResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayDeleteRevisionExecutor* excutor = [[ApigatewayDeleteRevisionExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteRevisionRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDeleteRevisionResponse* response = [[ApigatewayDeleteRevisionResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryApi sync request
@param queryApiRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryApiResponse` the request response data model
*/
-(NSDictionary*) queryApiSyncWithRequest:(ApigatewayQueryApiRequest*) queryApiRequest
{
ApigatewayQueryApiExecutor* excutor = [[ApigatewayQueryApiExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryApiRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryApiResponse* response = [[ApigatewayQueryApiResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryApiResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryApiAsyncWithRequest:(ApigatewayQueryApiRequest*) queryApiRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayQueryApiResponse* _Nullable queryApiResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayQueryApiExecutor* excutor = [[ApigatewayQueryApiExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryApiRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryApiResponse* response = [[ApigatewayQueryApiResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
checkApiNameExist sync request
@param checkApiNameExistRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `checkApiNameExistResponse` the request response data model
*/
-(NSDictionary*) checkApiNameExistSyncWithRequest:(ApigatewayCheckApiNameExistRequest*) checkApiNameExistRequest
{
ApigatewayCheckApiNameExistExecutor* excutor = [[ApigatewayCheckApiNameExistExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:checkApiNameExistRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCheckApiNameExistResponse* response = [[ApigatewayCheckApiNameExistResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"checkApiNameExistResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)checkApiNameExistAsyncWithRequest:(ApigatewayCheckApiNameExistRequest*) checkApiNameExistRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayCheckApiNameExistResponse* _Nullable checkApiNameExistResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayCheckApiNameExistExecutor* excutor = [[ApigatewayCheckApiNameExistExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:checkApiNameExistRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayCheckApiNameExistResponse* response = [[ApigatewayCheckApiNameExistResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryApis sync request
@param queryApisRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryApisResponse` the request response data model
*/
-(NSDictionary*) queryApisSyncWithRequest:(ApigatewayQueryApisRequest*) queryApisRequest
{
ApigatewayQueryApisExecutor* excutor = [[ApigatewayQueryApisExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryApisRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryApisResponse* response = [[ApigatewayQueryApisResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryApisResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryApisAsyncWithRequest:(ApigatewayQueryApisRequest*) queryApisRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayQueryApisResponse* _Nullable queryApisResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayQueryApisExecutor* excutor = [[ApigatewayQueryApisExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryApisRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayQueryApisResponse* response = [[ApigatewayQueryApisResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
resetKey sync request
@param resetKeyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `resetKeyResponse` the request response data model
*/
-(NSDictionary*) resetKeySyncWithRequest:(ApigatewayResetKeyRequest*) resetKeyRequest
{
ApigatewayResetKeyExecutor* excutor = [[ApigatewayResetKeyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:resetKeyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayResetKeyResponse* response = [[ApigatewayResetKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"resetKeyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)resetKeyAsyncWithRequest:(ApigatewayResetKeyRequest*) resetKeyRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayResetKeyResponse* _Nullable resetKeyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayResetKeyExecutor* excutor = [[ApigatewayResetKeyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:resetKeyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayResetKeyResponse* response = [[ApigatewayResetKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteBackendConfig sync request
@param deleteBackendConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteBackendConfigResponse` the request response data model
*/
-(NSDictionary*) deleteBackendConfigSyncWithRequest:(ApigatewayDeleteBackendConfigRequest*) deleteBackendConfigRequest
{
ApigatewayDeleteBackendConfigExecutor* excutor = [[ApigatewayDeleteBackendConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteBackendConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDeleteBackendConfigResponse* response = [[ApigatewayDeleteBackendConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteBackendConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteBackendConfigAsyncWithRequest:(ApigatewayDeleteBackendConfigRequest*) deleteBackendConfigRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayDeleteBackendConfigResponse* _Nullable deleteBackendConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayDeleteBackendConfigExecutor* excutor = [[ApigatewayDeleteBackendConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteBackendConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDeleteBackendConfigResponse* response = [[ApigatewayDeleteBackendConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteApiGroup sync request
@param deleteApiGroupRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteApiGroupResponse` the request response data model
*/
-(NSDictionary*) deleteApiGroupSyncWithRequest:(ApigatewayDeleteApiGroupRequest*) deleteApiGroupRequest
{
ApigatewayDeleteApiGroupExecutor* excutor = [[ApigatewayDeleteApiGroupExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteApiGroupRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDeleteApiGroupResponse* response = [[ApigatewayDeleteApiGroupResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteApiGroupResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteApiGroupAsyncWithRequest:(ApigatewayDeleteApiGroupRequest*) deleteApiGroupRequest
                       completionHandler:(void(^)(int statusCode,ApigatewayDeleteApiGroupResponse* _Nullable deleteApiGroupResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
ApigatewayDeleteApiGroupExecutor* excutor = [[ApigatewayDeleteApiGroupExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteApiGroupRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    ApigatewayDeleteApiGroupResponse* response = [[ApigatewayDeleteApiGroupResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}


 /**
 apigateway common sync request
 @param  jdcloudDataRequest request param
 @return key `statusCode` http request status code type is int
             `dataResult` the http request response data  type is NSData
             `requestError` the request error type is NSError
 */
 -(NSDictionary*) apigatewayCommonSyncWithRequest:(JDCloudDataRequest*) jdcloudDataRequest
                                                   url:(NSString*) url
                                                method:(NSString*) method{
    CommonExecutor* excutor = [[CommonExecutor alloc] initWithJDCloudClient:self url:url method:method];
    NSDictionary* responseResult = [excutor executeDataSync:jdcloudDataRequest];
    return responseResult;
}

-(void)apigatewayCommonAsyncWithRequest:(JDCloudDataRequest*) jdcloudDataRequest
                                         url:(NSString*) url
                                      method:(NSString*) method
                           completionHandler:(void(^)(int statusCode, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
     CommonExecutor* excutor = [[CommonExecutor alloc] initWithJDCloudClient:self url:url method:method];
    
    [excutor executeDataAsync:jdcloudDataRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        completionHandler(statusCode,responseData,error);
    }];
} 

@end
